package com.heu.blood.autologous.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 
 * 
 * @author lyj
 * @email lyj@heu.com
 * @date 2025-03-15 16:23:25
 */
@Data
@TableName("blood_inventory_autologous")
public class BloodInventoryAutologousEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 编号
	 */
	@TableId
	private Long id;
	/**
	 * 血液ID
	 */
	private String bloodId;
	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_create", fill = FieldFill.INSERT) // 创建注解
	private Date gmtCreate;
	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE) // 更新注解
	private Date gmtModified;
	/**
	 * 病人id
	 */
	private String patientId;
	/**
	 * 病人姓名
	 */
	private String patientName;
	/**
	 * ABO血型(AboType)
	 */
	private String aboBloodType;
	/**
	 * RH血型(RhType)
	 */
	private String rhBloodType;
	/**
	 * 规格/血量-数字
	 */
	private BigDecimal bloodCount;
	/**
	 * 血液品名-(BloodType)
	 */
	private String bloodType;
	/**
	 * 血袋位置-库存位置描述(BloodLocation)
	 */
	private String bloodLocation;
	/**
	 * 计量单位-ml等(MeasureMentUnit)
	 */
	private String measurementUnit;
	/**
	 * 确认签收时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date acknowledgmentTime;
	/**
	 * 库存血液状态（待签收、已签收、已发血）
	 */
	private String transferStatus;
	/**
	 * 失效时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date failureTime;
	/**
	 * 操作人姓名
	 */
	private String operatorName;
	/**
	 * 操作人工号
	 */
	private String operatorId;
	/**
	 * 备注信息（如特殊保存条件等）
	 */
	private String notes;
	/**
	 * 使用日期
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date transfusionTime;
	/**
	 * 1代表已删除，0表示未删除
	 */
	@TableLogic(value = "0", delval = "1")
	@TableField(value = "is_deleted", fill = FieldFill.INSERT) // 创建注解
	private Integer isDeleted;
	/**
	 * 0表示不展示，1表示展示
	 */
	@TableField(value = "if_show", fill = FieldFill.INSERT) // 创建注解
	private Integer ifShow;
	/**
	 * 申请单号
	 */
	private String applicationId;
	/**
	 * 申请项编号
	 */
	private Long bloodApplicationItemId;
	/**
	 * 是否打印（1已经打印，0未打印）
	 */
	@TableField(value = "if_print", fill = FieldFill.INSERT) // 创建注解
	private Integer ifPrint;

}
